package oboe.core;

/**
 * ...
 * @author Felipe Manga
 */

class Unique 
{
	private static var nextId:Int = 0;
	public var uniqueId(default, null):String;
	public function new() 
	{
		uniqueId = this.getFinalClassName() + nextId++;
	}
	
	public inline function getFinalClassName( c:Dynamic=null ):String
	{
		if ( c == null ) c = this;
		return Type.getClassName( Type.getClass(c) );
	}
}